WORST_CASE(?,O(n^3)) Solution: --------- "0" :: [] -(0)-> "A"(7, 9, 2) "0" :: [] -(0)-> "A"(8, 8, 15) "0" :: [] -(0)-> "A"(12, 15, 14) "a__from" :: ["A"(8, 9, 2)] -(8)-> "A"(6, 7, 2) "a__length" :: ["A"(9, 0, 0)] -(8)-> "A"(6, 7, 2) "a__length1" :: ["A"(9, 0, 0)] -(9)-> "A"(6, 7, 9) "cons" :: ["A"(9, 0, 0) x "A"(9, 0, 0)] -(9)-> "A"(9, 0, 0) "cons" :: ["A"(7, 9, 2) x "A"(7, 0, 0)] -(7)-> "A"(7, 9, 2) "cons" :: ["A"(6, 7, 2) x "A"(6, 0, 0)] -(6)-> "A"(6, 7, 2) "from" :: ["A"(9, 11, 2)] -(9)-> "A"(7, 9, 2) "from" :: ["A"(0, 0, 0)] -(0)-> "A"(8, 0, 0) "from" :: ["A"(7, 9, 2)] -(7)-> "A"(15, 7, 2) "length" :: ["A"(9, 0, 0)] -(9)-> "A"(7, 9, 2) "length" :: ["A"(7, 0, 0)] -(7)-> "A"(14, 7, 2) "length1" :: ["A"(9, 0, 0)] -(9)-> "A"(7, 9, 2) "length1" :: ["A"(8, 0, 0)] -(8)-> "A"(8, 8, 9) "mark" :: ["A"(7, 9, 2)] -(1)-> "A"(6, 7, 2) "nil" :: [] -(0)-> "A"(9, 0, 0) "nil" :: [] -(0)-> "A"(7, 9, 2) "nil" :: [] -(0)-> "A"(12, 13, 7) "s" :: ["A"(7, 9, 2)] -(9)-> "A"(7, 9, 2) "s" :: ["A"(0, 0, 0)] -(0)-> "A"(0, 0, 0) "s" :: ["A"(12, 7, 11)] -(7)-> "A"(12, 7, 11) "s" :: ["A"(6, 7, 2)] -(7)-> "A"(6, 7, 2) Cost Free Signatures: --------------------- "0" :: [] -(0)-> "A"_cf(0, 0, 0) "0" :: [] -(0)-> "A"_cf(11, 7, 4) "0" :: [] -(0)-> "A"_cf(4, 3, 8) "0" :: [] -(0)-> "A"_cf(2, 2, 0) "0" :: [] -(0)-> "A"_cf(14, 8, 8) "0" :: [] -(0)-> "A"_cf(9, 9, 3) "0" :: [] -(0)-> "A"_cf(13, 15, 0) "a__from" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "a__from" :: ["A"_cf(2, 2, 0)] -(2)-> "A"_cf(2, 2, 0) "a__length" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "a__length" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(8, 0, 3) "a__length" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 7) "a__length" :: ["A"_cf(2, 0, 0)] -(2)-> "A"_cf(8, 2, 8) "a__length" :: ["A"_cf(2, 0, 0)] -(2)-> "A"_cf(2, 2, 1) "a__length1" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "a__length1" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(8, 0, 3) "a__length1" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 7) "a__length1" :: ["A"_cf(2, 0, 0)] -(2)-> "A"_cf(8, 2, 8) "a__length1" :: ["A"_cf(2, 0, 0)] -(2)-> "A"_cf(2, 2, 1) "cons" :: ["A"_cf(0, 0, 0) x "A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "cons" :: ["A"_cf(2, 2, 0) x "A"_cf(2, 0, 0)] -(2)-> "A"_cf(2, 2, 0) "cons" :: ["A"_cf(2, 0, 0) x "A"_cf(2, 0, 0)] -(2)-> "A"_cf(2, 0, 0) "from" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "from" :: ["A"_cf(2, 2, 0)] -(2)-> "A"_cf(2, 2, 0) "from" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(12, 0, 0) "from" :: ["A"_cf(2, 2, 0)] -(2)-> "A"_cf(9, 2, 0) "length" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "length" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(8, 0, 8) "length" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(15, 0, 7) "length" :: ["A"_cf(2, 0, 0)] -(2)-> "A"_cf(2, 2, 0) "length" :: ["A"_cf(2, 0, 0)] -(2)-> "A"_cf(10, 2, 14) "length" :: ["A"_cf(2, 0, 0)] -(2)-> "A"_cf(10, 2, 4) "length1" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "length1" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(10, 0, 6) "length1" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 7) "length1" :: ["A"_cf(2, 0, 0)] -(2)-> "A"_cf(2, 2, 0) "length1" :: ["A"_cf(2, 0, 0)] -(2)-> "A"_cf(10, 2, 14) "length1" :: ["A"_cf(2, 0, 0)] -(2)-> "A"_cf(2, 2, 8) "mark" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "mark" :: ["A"_cf(2, 2, 0)] -(0)-> "A"_cf(2, 2, 0) "nil" :: [] -(0)-> "A"_cf(0, 0, 0) "nil" :: [] -(0)-> "A"_cf(2, 2, 0) "nil" :: [] -(0)-> "A"_cf(2, 0, 0) "nil" :: [] -(0)-> "A"_cf(5, 4, 15) "s" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "s" :: ["A"_cf(8, 0, 3)] -(0)-> "A"_cf(8, 0, 3) "s" :: ["A"_cf(0, 0, 7)] -(0)-> "A"_cf(0, 0, 7) "s" :: ["A"_cf(2, 2, 0)] -(2)-> "A"_cf(2, 2, 0) "s" :: ["A"_cf(8, 2, 8)] -(2)-> "A"_cf(8, 2, 8) "s" :: ["A"_cf(2, 2, 1)] -(2)-> "A"_cf(2, 2, 1) Base Constructors: ------------------ "\"0\"_A" :: [] -(0)-> "A"(1, 0, 0) "\"0\"_A" :: [] -(0)-> "A"(0, 1, 0) "\"0\"_A" :: [] -(0)-> "A"(0, 0, 1) "\"cons\"_A" :: ["A"(1, 0, 0) x "A"(1, 0, 0)] -(1)-> "A"(1, 0, 0) "\"cons\"_A" :: ["A"(0, 1, 0) x "A"(0, 0, 0)] -(0)-> "A"(0, 1, 0) "\"cons\"_A" :: ["A"(0, 0, 1) x "A"(0, 0, 0)] -(0)-> "A"(0, 0, 1) "\"from\"_A" :: ["A"(0, 0, 0)] -(0)-> "A"(1, 0, 0) "\"from\"_A" :: ["A"(1, 1, 0)] -(1)-> "A"(0, 1, 0) "\"from\"_A" :: ["A"(0, 1, 1)] -(0)-> "A"(0, 0, 1) "\"length\"_A" :: ["A"(0, 0, 0)] -(0)-> "A"(1, 0, 0) "\"length\"_A" :: ["A"(1, 0, 0)] -(1)-> "A"(0, 1, 0) "\"length\"_A" :: ["A"(0, 0, 0)] -(0)-> "A"(0, 0, 1) "\"length1\"_A" :: ["A"(0, 0, 0)] -(0)-> "A"(1, 0, 0) "\"length1\"_A" :: ["A"(1, 0, 0)] -(1)-> "A"(0, 1, 0) "\"length1\"_A" :: ["A"(0, 0, 0)] -(0)-> "A"(0, 0, 1) "\"nil\"_A" :: [] -(0)-> "A"(1, 0, 0) "\"nil\"_A" :: [] -(0)-> "A"(0, 1, 0) "\"nil\"_A" :: [] -(0)-> "A"(0, 0, 1) "\"s\"_A" :: ["A"(1, 0, 0)] -(0)-> "A"(1, 0, 0) "\"s\"_A" :: ["A"(0, 1, 0)] -(1)-> "A"(0, 1, 0) "\"s\"_A" :: ["A"(0, 0, 1)] -(0)-> "A"(0, 0, 1)